1. Field of the Invention
The present invention relates to helical and circular x-ray computed tomographic (CT) imaging, and in particular to CT imaging with adaptive interpolation.
2. Discussion of the Background
There are several methods of backprojection. A common method is pixel-driven backprojection illustrated in FIG. 1. A ray 11 is drawn from the source 10 through the center of the reconstruction pixel at (i,j) to the detector array 12. Ray 11 intersects detector 12 at floating point channel index Chi,j on channel ck. The value assigned to the pixel is a linear interpolation of the values of the detector the ray intersects and the adjacent elements:V(i,j)=wk−1·D(ck−1)+wk·D(ck)+wk+1·D(ck+1)  (1)where ck is the channel of intersection and wk−1+wk+wk+1=1. For typical linear interpolation, the interpolation kernel width ΔCh is fixed at one channel and only two detector elements are used (either wk−1 or wk+1 is zero). A nearest neighbor implementation has wk+1=wk−1=0 and wk=1. Another pixel-driven method adjusts the weights such that interpolation kernel locations on the detector are always adjacent, as described in U.S. Pat. No. 6,724,856.
Pixel-driven methods are easy to implement. However, the disadvantage is that actual projection of the pixel onto the detector array is not used to compute V(i,j). For large pixel sizes, the projection of the pixel onto the array will be larger than one channel, meaning that too few detector elements contribute to V(i,j), and the signal-to-noise ratio (SNR) will be poorer. For small pixel sizes the projection of the pixel onto the array is smaller than one channel, causing a loss of lateral resolution.
Another backprojection method is ray-driven backprojection. This technique is shown in FIG. 2 and described in Barrett, Harrison and Swindell, William, “Radiological Imaging: The Theory of Image Formation, Detection, and Processing,” New York: Academic Press, 1981, pp. 421-422. In this case the backprojection ray 21 is drawn from the source 20 to the centers (indicated as c) of detector elements in the detector array 22, and the contribution weight wijc of the detector element to pixels in the ray path is determined from the length of the ray within the pixel, as follows:V(i,j)=V(i,j)+wijc·D(c)  (2)
Other ray driven methods perform linear interpolation between two pixels for each row or column intersected by the projection line, as described in Joseph P, “An improved algorithm for reprojecting rays through pixel images,” IEEE Trans. Med. Imaging 1, pp. 192-196 (1982).
A third technique, distance-driven backprojection, maps the boundaries of the pixels and the detector elements onto a common axis (referred to as centering), and the amount of overlap is used as the backprojection weight, as shown in FIG. 3. Rays 31 from source 30 strike array 32. See U.S. Pat. No. 7,227,982 and De Man, Bruno, and Basu, Samit, “Distance-driven projection and backprojection in three dimensions,” Phys Med Biol 49, pp. 2463-2475 (2004).
The pixel 33 is assumed to be square with a half-width δ, and the edges of the square pixel are in the x-ray beam 31 from source 30 are projected to points xpc1 and xpc2 on the common centering x axis. Similarly, the boundaries of detectors c are projected to positions xcc on the x axis. In FIG. 3, channel boundaries cs to ce+1 are projected to positions xcccs to xccce+1 on the centering axis. The interpolation kernel width is the overlap of xpc1 to xpc2 with xcccs to xccce+1:
                              V          ⁡                      (                          i              ,              j                        )                          =                                                            f                iscc                            ·                              D                ⁡                                  [                                      c                    s                                    ]                                                                    (                                                ycc                  ks                                -                                  ycc                                      ks                    +                    1                                                              )                                +                                                    f                iecc                            ·                              D                ⁡                                  [                                      c                    e                                    ]                                                                    (                                                ycc                  ke                                -                                  ycc                                      ke                    +                    1                                                              )                                +                                    ∑                                                c                  ′                                =                                                      c                    s                                    +                  1                                                                              c                  e                                -                1                                      ⁢                          D              ⁡                              [                                  c                  ′                                ]                                                                        (        3        )            The advantage of this method is that the projection of the pixel onto the detector is used to determine the interpolation kernel width, yielding improved SNR at large pixel sizes and improved resolution at smaller pixel sizes. The disadvantage to this method is that both the channels and pixels must be projected onto a centering axis (typically the y or x axis), which makes processing more complex. Furthermore, the resulting interpolation kernel width is a function of view.